/******************************************************************************
 * Copyright (C) 2017 Chengdu Dlhd information industry co. LTD.
 * All Rights Reserved.
 * 本软件为成都顶联互动信息产业有限公司开发研制。未经本公司正式书面同意，其他任何个人、团体不得使用、复制、修改或发布本软件.
 *****************************************************************************/
package net.dgg.dggcloud.service.jrcrm.entity.cms;


import net.dgg.dggcloud.service.entity.BaseEntity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Version;
import java.util.Date;

/**
 * @ClassName 〈BillNumberRule>
 * @Description 单据号实体
 * @Author 朱永波
 * @Date 2017/11/3 15:31
 */
@Entity
@Table(name = "cms_bill_number_rule")
public class BillNumberRule extends BaseEntity {


    /**
     * 单据号编码
     */
    @Column(name = "code")
    private String code;

    /**
     * 单据号名称
     */
    @Column(name = "name")
    private String name;

    /**
     * 单据号描述
     */
    @Column(name = "text")
    private String text;

    /**
     * 前缀
     */
    @Column(name = "bill_tag")
    private String billTag;


    /**
     * 是否显示年份0否1是
     */
    @Column(name = "is_year")
    private Integer isYear;

    /**
     * 是否显示月份0否1是
     */
    @Column(name = "is_month")
    private Integer isMonth;

    /**
     * 是否显示日期0否1是
     */
    @Column(name = "is_day")
    private Integer isDay;

    /**
     * 流水号位数
     */
    @Column(name = "serial_num_len")
    private Integer serialNumLen;

    /**
     * 当前流水号
     */
    @Column(name = "serial_num")
    private Integer serialNum;

    /**
     * 归零方式：0不归零，1年归零，2月归零，3日归零
     */
    @Column(name = "is_zero")
    private Integer isZero;


    /**
     * 上一次归零日期，默认为创建时间
     */
    @Column(name = "last_zero_day")
    private Date lastZeroDay;

    /**
     * 版本控制，用于解决编号重复问题
     */
    @Version
    private Long version;

    /**
     * 单据号编码
     *
     * @return code 单据号编码
     */
    public String getCode() {
        return code;
    }

    /**
     * 单据号编码
     *
     * @param code 单据号编码
     */
    public void setCode(String code) {
        this.code = code == null ? null : code.trim();
    }

    /**
     * 单据号名称
     *
     * @return name 单据号名称
     */
    public String getName() {
        return name;
    }

    /**
     * 单据号名称
     *
     * @param name 单据号名称
     */
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    /**
     * 单据号描述
     *
     * @return text 单据号描述
     */
    public String getText() {
        return text;
    }

    /**
     * 单据号描述
     *
     * @param text 单据号描述
     */
    public void setText(String text) {
        this.text = text == null ? null : text.trim();
    }

    /**
     * 手动业务标志
     *
     * @return bill_tag 手动业务标志
     */
    public String getBillTag() {
        return billTag;
    }

    /**
     * 手动业务标志
     *
     * @param billTag 手动业务标志
     */
    public void setBillTag(String billTag) {
        this.billTag = billTag == null ? null : billTag.trim();
    }
    /**
     * 是否显示年份0否1是
     *
     * @return is_year 是否显示年份0否1是
     */
    public Integer getIsYear() {
        return isYear;
    }

    /**
     * 是否显示年份0否1是
     *
     * @param isYear 是否显示年份0否1是
     */
    public void setIsYear(Integer isYear) {
        this.isYear = isYear;
    }

    /**
     * 是否显示月份0否1是
     *
     * @return is_month 是否显示月份0否1是
     */
    public Integer getIsMonth() {
        return isMonth;
    }

    /**
     * 是否显示月份0否1是
     *
     * @param isMonth 是否显示月份0否1是
     */
    public void setIsMonth(Integer isMonth) {
        this.isMonth = isMonth;
    }

    /**
     * 是否显示日期0否1是
     *
     * @return is_day 是否显示日期0否1是
     */
    public Integer getIsDay() {
        return isDay;
    }

    /**
     * 是否显示日期0否1是
     *
     * @param isDay 是否显示日期0否1是
     */
    public void setIsDay(Integer isDay) {
        this.isDay = isDay;
    }

    /**
     * 流水号位数
     *
     * @return serial_num_len 流水号位数
     */
    public Integer getSerialNumLen() {
        return serialNumLen;
    }

    /**
     * 流水号位数
     *
     * @param serialNumLen 流水号位数
     */
    public void setSerialNumLen(Integer serialNumLen) {
        this.serialNumLen = serialNumLen;
    }

    /**
     * 归零方式：0不归零，1年归零，2月归零，3日归零
     *
     * @return is_zero 归零方式：0不归零，1年归零，2月归零，3日归零
     */
    public Integer getIsZero() {
        return isZero;
    }

    /**
     * 归零方式：0不归零，1年归零，2月归零，3日归零
     *
     * @param isZero 归零方式：0不归零，1年归零，2月归零，3日归零
     */
    public void setIsZero(Integer isZero) {
        this.isZero = isZero;
    }


    /**
     * 上一次归零日期，默认为创建时间
     *
     * @return last_zero_day 上一次归零日期，默认为创建时间
     */
    public Date getLastZeroDay() {
        return lastZeroDay;
    }

    /**
     * 上一次归零日期，默认为创建时间
     *
     * @param lastZeroDay 上一次归零日期，默认为创建时间
     */
    public void setLastZeroDay(Date lastZeroDay) {
        this.lastZeroDay = lastZeroDay;
    }

    public Integer getSerialNum() {
        return serialNum;
    }

    public void setSerialNum(Integer serialNum) {
        this.serialNum = serialNum;
    }

    public Long getVersion() {
        return version;
    }

    public void setVersion(Long version) {
        this.version = version;
    }
}